﻿using System.IO;

namespace SQLMap.Core.Provider
{

    /// <summary>
    /// <![CDATA[接口-SQLMAP配置提供程序]]>
    /// </summary>
    public interface ISqlMapConfigProvider
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="stream"></param>
        void Configure(Stream stream);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="textReader"></param>
        void Configure(TextReader textReader);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="innerXml"></param>
        void Configure(string innerXml);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="assembly"></param>
        /// <param name="name"></param>
        void Configure(System.Reflection.Assembly assembly, string name);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sqlId"></param>
        /// <returns></returns>
        Command GetCommandFromSqlMapById(string sqlId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="commandInfo"></param>
        void RegisterSqlMap(Command commandInfo);
    }
}
